package toolkit.tianshi.common.regular;

/**
 * 正则表达式公式部分
 * @author zhangLin
 */
public class Expression {

    /**
     * 手机号1 限制11位
     */
    public static String mobileNumberNormal = "^\\d{11}$";

    /**
     * 手机号2限制11数字+国家码
     */
    public static String mobileNumberCountry = "^+\\d{2}\\d{11}$";

    /**
     * 固定电话 区号-号码
     */
    public static String fixedLineNumber = "\\d{3}-\\d{7,8}|\\d{4}-\\{7,8}";

    /**
     * 邮箱号
     */
    public static String eMailAddress = "[\\w!#$%&'*+/=?^_`{|}~-]+(?:\\.[\\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\\w](?:[\\w-]*[\\w])?\\.)+[\\w](?:[\\w-]*[\\w])?";

    /**
     * 匹配中文
     */
    public static String chinese = "[\\u4e00-\\u9fa5]";

    /**
     * 匹配网址url
     */
    public static String url = "^(https?:\\/\\/)?([\\da-z\\.-]+)\\.([a-z\\.]{2,6})([\\/\\w \\.-]*)*\\/?$";

    /**
     * 匹配邮政编码
     */
    public static String postalCode = "[1-9]\\d{5}(?!\\d)";

    /**
     * 匹配身份证号
     */
    public static String IDCodeNo = "^(\\d{6})(\\d{4})(\\d{2})(\\d{2})(\\d{3})([0-9]|X)$";

    /**
     * 匹配(年-月-日)格式日期
     */
    public static String yyyy_MM_DD = "([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8])))";

    /**
     * 匹配正整数
     */
    public static String positiveInteger = "^[1-9]\\d*$";

    /**
     * 匹配负整数
     */
    public static String negativeInteger = "^-[1-9]\\d*$";

    /**
     * 匹配整数
     */
    public static String IntegerNumber = "^-?[1-9]\\d*$";

    /**
     * 匹配非负整数（正整数 + 0）
     */
    public static String NnegativeInteger = "^[1-9]\\d*|0$";

    /**
     * 匹配非正整数（负整数 + 0）
     */
    public static String NpositiveInteger = "^-[1-9]\\d*|0$";

    /**
     * 匹配正浮点数
     */
    public static String positiveDubbo = "^[1-9]\\d*\\.\\d*|0\\.\\d*[1-9]\\d*$";

    /**
     * 匹配负浮点数
     */
    public static String negativeDubbo = "^-[1-9]\\d*\\.\\d*|-0\\.\\d*[1-9]\\d*$";

    /**
     * 匹配金额
     */
    public static String money = "(^[1-9](\\d+)?(\\.\\d{1,2})?$)|(^(0){1}$)|(^\\d\\.\\d{1,2}?$)";

    /**
     * 匹配金额（含负）
     */
    public static String moneys = "(^-?[1-9](\\d+)?(\\.\\d{1,2})?$)|(^-?(0){1}$)|(^-?\\d\\.\\d{1,2}?$)";


}
